package day02;

public class HomeworkDemo {
    public static void main(String[] args) {

        /*
        //声明一个变量，一次声明多个变量
        int a;
        int b;


        //声明变量直接初始化，先声明变量，而后再给变量初始化
        int c;
        c = 10;

        int d;
        d = 20;


        //声明整型变量g，声明另一个整型变量h并赋值为g+10，输出变量h的值
        int g = 10;
        int h = g + 10;
        System.out.println(h);//20

        int e = 20;
        int f = e + 10;
        System.out.println(f);//30


        //在g本身基础之上增10，输出变量g的值
        g = g + 10;
        System.out.println(g);//20

        e = e + 10;
        System.out.println(e);//30


        //声明一些正确的和错误的变量名
        /*   正确
        int a1,_1,$1,$_1;
        int age;
        int score,myScore,myJavaScore(驼峰）
         */


        /*   错误
        int 1a
        int j*k
         */
        int ll = 1;
        //System.out.println(Ll);


        //声明初始化两个以上整数变量，并且输出两个整数变量的除法结果
        System.out.println(7 / 3);//2
        System.out.println(3 / 7);//0
        System.out.println(7.0 / 3);//2.3333333333333335


        //声明两个很大的变量，然后相加，输出运算结果，测试运算溢出现象 参考案例：
        int o = 1000000000;
        int p = 2000000000;
        System.out.println(o + p);//-1294967296


        //声明初始化两个以上的长整型变量
        long q = 30L;
        long r = 10000000000000L;


        //声明变量存储几个较大数据的运算，演示：若有可能溢出建议将L设计在第1个数字后。
        long s = 1000000000 * 2 * 5L;
        System.out.println(s);//10000000000
        long t = 20000000000L * 3 * 7777;//466620000000000
        System.out.println(t);


        double u = 1214584.454844;
        float v = 1541941964.56418941F;


        //声明几个浮点型变量并将它们做数学操作
        double w = 8.7;
        double x = 5.6;
        System.out.println(w / x);//1.5535714285714286
        System.out.println(w * x);//48.71999999999999
        System.out.println(w - x);//3.0999999999999996
        System.out.println(w + x);//14.299999999999999


        //声明初始化两个以上的布尔型变量
        boolean y = true;
        boolean z = false;


        //声明初始化五个以上的字符型变量
        char c1 = '男';
        char c2 = '2';
        char c3 = ' ';
        char c4 = '*';
        char c5 = 's';

        //声明字符型变量，演示转义符
        char c6 = '\\';
        System.out.println(c6);


        //声明几个变量，演示自动类型转换和强制类型转换的语法
        int a = 5;
        long b = a;
        int c = (int) b;


        //声明一个较大类型的长整型变量，演示强转可能会发生的溢出问题 \
        long d = 10000000000L;
        int e = (int) d;
        System.out.println(e);//1410065408

        //声明一个较大精度的浮点型变量，演示强转可能会发生的丢失精度问题
        double f = 88.548;
        int g = (int) f;
        System.out.println(g);//88


        //声明两个byte型变量b1和b2，并赋值为直接量
        byte b1 = 5;
        byte b2 = 8;


        //声明一个byte型变量，并赋值为b1与b2的和
        byte b3 = 7;
        byte b4 = 9;
        System.out.println(b3 + b4);//16

        System.out.println(9 + '9');
        System.out.println('9' + '9');
        System.out.println(9 + 9);


    }
}
